/*
============================================================================
 Name        : C$(Basename)Container from $(Basename)Container.h
 Author      : $(Author)
 Version     :
 Copyright   : $(Copyright)
 Description : Declares container control for application.
============================================================================
*/

#ifndef $(BASENAME)CONTAINER_H
#define $(BASENAME)CONTAINER_H

// INCLUDES
#include <coecntrl.h>
   
// FORWARD DECLARATIONS
class CEikLabel;        // for example labels

// CLASS DECLARATION

/**
*  C$(Basename)Container  container control class.
*  
*/
class C$(Basename)Container : public CCoeControl, MCoeControlObserver
	{
	public: // Constructors and destructor
		
		/**
		* EPOC default constructor.
		* @param aRect Frame rectangle for container.
		*/
		void ConstructL(const TRect& aRect);

		/**
		* Destructor.
		*/
		~C$(Basename)Container();

	public: // New functions

	public: // Functions from base classes

	private: // Functions from base classes

	   /**
		* From CoeControl,SizeChanged.
		*/
		void SizeChanged();

	   /**
		* From CoeControl,CountComponentControls.
		*/
		TInt CountComponentControls() const;

	   /**
		* From CCoeControl,ComponentControl.
		*/
		CCoeControl* ComponentControl(TInt aIndex) const;

	   /**
		* From CCoeControl,Draw.
		*/
		void Draw(const TRect& aRect) const;

	   	
		/**
		* From MCoeControlObserver
		* Acts upon changes in the hosted control's state. 
		*
		* @param	aControl The control changing its state
		* @param	aEventType The type of control event 
		*/
		void HandleControlEventL(CCoeControl* aControl,TCoeEvent aEventType);
		
	private: //data
		
		CEikLabel* iLabel;     // example label
		CEikLabel* iToDoLabel; // example label
	};

#endif


